/****************************************************
	文件：ResLoadSwitchMenu.cs
	作者：HuskyT
	邮箱：1005240602@qq.com
	日期：2021/1/3 20:30:31
	功能：资源加载模式切换
*****************************************************/

using HTFW.Consts;
using UnityEditor;
using UnityEngine;

namespace HTFW.Res.Editor
{
    public class ResLoadSwitchMenu : MonoBehaviour
    {
        static int mIsSimulationMode;
        public static int IsSimulationMode => mIsSimulationMode;

        /// <summary>
        /// 切换资源加载模式
        /// </summary>
        [MenuItem(MenuPath.RES_LOAD_SWITCH_MENU_PATH, false, 4)]
        private static void SwitchLoadMode()
        {
            mIsSimulationMode = mIsSimulationMode == 0 ? 1 : 0;
            PlayerPrefs.SetInt(ResDefine.RES_LOAD_MODE_KEY, mIsSimulationMode);
            string msg = IsSimulationMode == 1 ? "使用模拟模式进行资源加载" : "使用AssetBundle模式进行资源加载";
            Debug.Log(msg);
        }

        /// <summary>
        /// 切换 资源加载模式 的验证方法
        /// 每次编译都会执行此方法
        /// </summary>
        [MenuItem(MenuPath.RES_LOAD_SWITCH_MENU_PATH, true, 4)]
        private static bool SwitchLoadModeValidate()
        {
            mIsSimulationMode = PlayerPrefs.GetInt(ResDefine.RES_LOAD_MODE_KEY);
            bool openLogger = IsSimulationMode == 1 ? true : false;
            //将菜单设置成可切换状态
            //参数（菜单，依据什么切换）
            Menu.SetChecked(MenuPath.RES_LOAD_SWITCH_MENU_PATH, openLogger);
            return true;
        }
    }
}